package promotion.resource;

import java.io.Serializable;
import org.restlet.data.MediaType;
import org.restlet.ext.xml.DomRepresentation;
import org.restlet.representation.Representation;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

/**
 * Resource représentant une erreur 
 * @author marya
 */
public class ResourceError implements Serializable {

    private String libelle;

    public ResourceError(String libelle) {
        this.libelle = libelle;
    }

    public String getLibelle() {
        return libelle;
    }

    public void setLibelle(String libelle) {
        this.libelle = libelle;
    }

    /**
     * Méthode qui permet à une instance de cette classe
     * le flux xml représentant l'erreur
     * @return
     * @throws Exception
     */
    public Representation toXML() throws Exception {
        DomRepresentation representation = new DomRepresentation(
                MediaType.TEXT_XML);
        Document d = representation.getDocument();
        Element error = d.createElement("error");
        error.appendChild(d.createTextNode(libelle));
        d.appendChild(error);
        d.normalizeDocument();
        return representation;
    }

    public static Representation getRepresentation(String error) throws Exception {
        return (new ResourceError(error)).toXML();
    }
}
